The present invention relates to communications in computer networks. More specifically, it relates to a method and system for protocol messaging in a cable modem in a data-over-cable system.
Cable television networks such as those provided by Comcast Cable Communications, Inc., of Philadelphia, Pa., Cox Communications of Atlanta Ga., Tele-Communications, Inc., of Englewood, Colo., Time-Warner Cable, of Marietta, Ga., Continental Cablevision, Inc., of Boston, Mass., and others provide cable television services to a large number of subscribers over a large geographical area. The cable television networks typically are interconnected by cables such as coaxial cables or a Hybrid Fiber/Coaxial (xe2x80x9cHFCxe2x80x9d) cable system which have data rates of about 10 Mega-bits-per-second (xe2x80x9cMbpsxe2x80x9d) to 30+ Mbps.
The Internet, a world-wide-network of interconnected computers, provides multi-media content including audio, video, graphics and text that typically require a large bandwidth for downloading and viewing. Most Internet Service Providers (xe2x80x9cISPsxe2x80x9d) allow customers to connect to the Internet via a serial telephone line from a Public Switched Telephone Network (xe2x80x9cPSTNxe2x80x9d) at data rates including 14,400 bps, 28,800 bps, 33,600 bps, 56,000 bps and others that are much slower than the about 10 Mbps to 30+ Mbps available on a coaxial cable or HFC cable system on a cable television network.
With the explosive growth of the Internet, many customers have desired to use the larger bandwidth of a cable television network to connect to the Internet and other computer networks. Cable modems, such as those provided by 3Com Corporation of Santa Clara, Calif., Motorola Corporation of Arlington Heights, Ill., Hewlett-Packard Co. of Palo Alto, Calif., Bay Networks of Santa Clara, Calif., Scientific-Atlanta, of Norcross, Ga. and others offer customers higher-speed connectivity to the Internet, an intranet, Local Area Networks (xe2x80x9cLANsxe2x80x9d) and other computer networks via cable television networks. These cable modems currently support a data connection to the Internet and other computer networks via a cable television network with a data rate of up to 30+ Mbps which is a much larger data rate than can be supported by a modem used over a serial telephone line.
However, most cable television networks provide only uni-directional cable systems, supporting only a xe2x80x9cdownstreamxe2x80x9d data path. A downstream data path is the flow of data from a cable system xe2x80x9cheadendxe2x80x9d to a customer. A cable system headend is a central location in the cable television network that is responsible for sending cable signals in the downstream direction. A return data path via a telephone network, such as a public switched telephone network provided by ATandT and others, (i.e., a xe2x80x9ctelephony returnxe2x80x9d) is typically used for an xe2x80x9cupstreamxe2x80x9d data path. An upstream data path is the flow of data from the customer back to the cable system headend. A cable television system with an upstream connection to a telephony network is called a xe2x80x9cdata-over-cable system with telephony return.xe2x80x9d
An exemplary data-over-cable system with telephony return includes customer premise equipment (e.g., a customer computer), a cable modem, a cable modem termination system, a cable television network, a public switched telephone network, a telephony remote access concentrator and a data network (e.g., the Internet). The cable modem termination system and the telephony remote access concentrator together are called a xe2x80x9ctelephony return termination system.xe2x80x9d
The cable modem termination system receives data packets from the data network and transmits them downstream via the cable television network to a cable modem attached to the customer premise equipment. The customer premise equipment sends response data packets to the cable modem, which sends response data packets upstream via public switched telephone network to the telephony remote access concentrator, which sends the response data packets back to the appropriate host on the data network.
When a cable modem used in the data-over-cable system with telephony return is initialized, a connection is made to both the cable modem termination system via the cable network and to the telephony remote access concentrator via the public switched telephone network. As a cable modem is initialized, it will initialize one or more downstream channels (i.e., downstream connections) to the cable modem termination system via the cable network or the telephony remote access concentrator via the public switched telephone network.
As a cable modem is initialized in a data-over-cable system, it registers with a cable modem termination system to allow the cable modem to receive data over a cable television connection and from a data network (e.g., the Internet or an Intranet). The cable modem forwards configuration information it receives in a configuration file during initialization to the cable modem termination system as part of a registration request message.
Many data-over-cable systems in the prior art use a Dynamic Host Configuration Protocol (xe2x80x9cDHCPxe2x80x9d) as a standard messaging protocol to allocate network addresses such as Internet Protocol (xe2x80x9cIPxe2x80x9d) addresses. As is known in the art, DHCP is a protocol for passing configuration information to network devices on a network. IP is an addressing protocol designed to route traffic within a network or between networks. DHCP uses User Datagram Protocol (xe2x80x9cUDPxe2x80x9d) as a transport protocol. DHCP messages sent from a network device to a DHCP server are sent via UDP DHCP server-port-67, and DHCP messages from a DHCP server to a network device are sent via UDP DHCP client-port-68. DHCP messaging starts with the use of a xe2x80x9cMartianxe2x80x9d IP address (e.g., 0.0.0.0) as a source address for a network device (e.g., a cable modem) since no legitimate IP address has been assigned to the network device.
Since a DHCP server may be at a different geographical location from other network devices in the data-over-cable system, DHCP messages may pass through one or more routers on a network such as the data-over-cable system. As is known in the art, routers route data packets to an appropriate network device on a network based on a network address.
Routers typically use one or more types of filters to provide varying levels of security to a network. For example, a first type of router may filter all inbound messages that do not have an IP address for a specified network (e.g., an intranet). A second type of router may filter all outbound messages that are not addressed to a specific IP address. In a data-over-cable system, many routers have default filters that filter out all external DHCP messages regardless of the source address to prevent a rogue network device from being assigned a legitimate IP address on the data-over-cable system. In addition, many routers in a data-over-cable system filter DHCP messages with a Martian source address since such a source address is often used to launch an attack on a data-over-cable system.
Thus, it is desirable to use DHCP messaging to allocate network addresses in a data-over-cable system with routers that may employ DHCP filters. It is also desirable to use DHCP messaging with Martian source addresses with routers that use filters to filter DHCP messages with Martian source addresses.
In accordance with a preferred embodiment of the present invention, the problems associated with DHCP filters in routers in a data-over-cable system are overcome. A method and system for seamless network address allocation is provided. The method includes receiving a first message with a first protocol from a first network device on a first port on a protocol agent. The first port is used to send messages from the first protocol server via a route that may apply one or more protocol filters to the first protocol. The first message is sent from the protocol agent on a second port. The second port is used to send messages with the first protocol via a route that does not apply protocol filters to the first protocol. A second message is received on the second port on the protocol agent. The second message is sent from the protocol agent to the first network device on the first port.
In a preferred embodiment of the present invention, the first protocol is DHCP, the first network device is any of a protocol server, cable modem, or cable modem termination system and the first port is a UDP DHCP port (e.g., UDP DHCP port 67 or 68). The second port is a UDP port other than a UDP DHCP port (e.g., other than UDP DHCP port 67 or 68). However, the present invention is not limited to these network devices, protocols and ports, and other network devices, protocols and ports could also be used (e.g., BOOT Transmission Protocol (xe2x80x9cBOOTPxe2x80x9d) and Transmission Control Protocol (xe2x80x9cTCPxe2x80x9d) ports).
The system includes a protocol agent, for sending and receiving messages for a first protocol in a data-over-cable system. The system also includes a protocol agent port for sending and receiving messages for the first protocol in a data-over-cable system. The protocol agent port is used to send and receive messages via a route that does not apply protocol filters to the first protocol in a data-over-cable system. In a preferred embodiment of the present invention, the protocol agent is a DHCP agent, and the protocol agent port is a UDP port other than a UDP DHCP port (e.g., other than UDP port 67 or 68). However, the present invention is not limited to these protocols and ports, and other protocols and ports could also be used.
The foregoing and other features and advantages of a preferred embodiment of the present invention will be more readily apparent from the following detailed description, which proceeds with references to the accompanying drawings.